﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RapChieuPhim.DTO;
using System.Data.SqlClient;
using System.Collections;
using System.Data;

namespace RapChieuPhim.DAO
{
    class DoiTuongDAO
    {
        public DoiTuongDTO GetByID(int id)
        {
            DataProvider cn = new DataProvider();
            SqlParameter param = new SqlParameter("@MaDoiTuong", id);
            DataTable dt = cn.SqlExcuteQuery("LayDoiTuongTheoID", param);
            DoiTuongDTO DoiTuong = new DoiTuongDTO();

            if (dt.Rows.Count != 0)
            {
                DoiTuong.MaDoiTuong = int.Parse(dt.Rows[0]["MaDoiTuong"].ToString());
                DoiTuong.TenDoiTuong = dt.Rows[0]["TenDoiTuong"].ToString();
                DoiTuong.GiamGia = int.Parse(dt.Rows[0]["GiamGia"].ToString());
            }
            return DoiTuong;
        }

        public IList GetAll()
        {
            DataProvider cn = new DataProvider();
            ArrayList array = new ArrayList();
            DataTable dt = cn.SqlExcuteQuery("LayAllDoiTuong");

            if (dt.Rows.Count != 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    DoiTuongDTO DoiTuong = new DoiTuongDTO();
                    DoiTuong.MaDoiTuong = int.Parse(dr["MaDoiTuong"].ToString());
                    DoiTuong.TenDoiTuong = dr["TenDoiTuong"].ToString();
                    DoiTuong.GiamGia = int.Parse(dr["GiamGia"].ToString());
                    array.Add(DoiTuong);
                }
            }
            return array;
        }

        public void Insert(DoiTuongDTO DoiTuong)
        {
            DataProvider cn = new DataProvider();
            SqlParameter[] param = new SqlParameter[3];
            param[0] = new SqlParameter("@MaDoiTuong", DoiTuong.MaDoiTuong);
            param[1] = new SqlParameter("@TenDoiTuong", DoiTuong.TenDoiTuong);
            param[2] = new SqlParameter("@GiamGia", DoiTuong.GiamGia);
            cn.SqlExcuteNonQuery("InsertDoiTuong", param);
        }

        public void Update(DoiTuongDTO DoiTuong)
        {
            DataProvider cn = new DataProvider();
            SqlParameter[] param = new SqlParameter[3];
            param[0] = new SqlParameter("@MaDoiTuong", DoiTuong.MaDoiTuong);
            param[1] = new SqlParameter("@TenDoiTuong", DoiTuong.TenDoiTuong);
            param[2] = new SqlParameter("@GiamGia", DoiTuong.GiamGia);
            cn.SqlExcuteNonQuery("UpdateDoiTuong", param);
        }

        public void Delete(int id)
        {
            DataProvider cn = new DataProvider();
            SqlParameter param = new SqlParameter("@MaDoiTuong", id);
            cn.SqlExcuteNonQuery("DeleteDoiTuong", param);
        }
    }
}
